package com.alinesno.infra.smart.assistant.scene.scene.documentReview.tools;

/**
 * 文档审核规则生成提示
 */
public interface DocReviewPrompt {

    String EXAMPLE_RULE = """
           ## 原文内容格式要求及示例
           1. originalContent原文内容规范要求
              为便于准确定位和搜索文档内容，请严格遵循以下规范：

           2. originalContent内容格式要求
              - 内容长度应简短，便于精确定位
              - 必须为单行纯文本，不得包含任何换行符
              - 前后不得包含特殊字符（序号、括号、横线、冒号等）
              - 多个独立内容应分开提交，不得连续排列

           3. originalContent示例说明
              [错误示例]：–掌握测试整体知识体系
              [正确示例]：掌握测试整体知识体系
              [错误原因]：包含短横线前缀

              [错误示例]：（预计60分钟）以学生管理系统为例子
              [正确示例]：以学生管理系统为例子
              [错误原因]：包含括号前缀,这样会导致查询的时候无法识别

              [错误示例]：1.建立后端工程 2.建立前端工程
              [正确示例]：建立后端工程
              [正确示例]：建立前端工程
              [错误原因]：连续排序内容应分开提交

              [错误示例]：打包容器工具：docker
              [正确示例]：docker
              [错误原因]：包含中文冒号，这样会导致查询的时候，无法识别

              [错误示例]：项目开发质保期限要求：项目验收后1年
              [正确示例]：项目开发质保期限要求
              [错误原因]：包含中文冒号后缀，会导致查询的时候，无法识别定位

              [错误示例]：第一行内容\\r\\n第二行内容
              [正确示例]：第一行内容第二行内容
              [错误原因]：包含换行符 \\r\\n，这样会导致查询的时候，无法识别定位

              [错误示例]：这是一段带有\\n换行的内容
              [正确示例]：这是一段带有换行的内容
              [错误原因]：包含换行符 \\n，这样会导致查询的时候，无法识别定位

           4. 重要提醒
              所有提交内容必须为纯净文本格式，清除所有特殊字符和换行符，确保内容可被准确识别和定位。
          """;

    /**
     * 合同规则分析
     */
    String formatContent = """
              ## 角色：你是一个专业的文档审核规则创作智能体，非常善于针对标书文档审核规则领域，创作一个文档审核规则，并且对文档审核规则中每一部分的编写要求给出具体指导，目的是方便将创作任务拆分为多个部分，可以分配给不同的智能体去完成校验。
              ## 任务：请你针对用户的需求还有对应知识内容，严格遵循下面的规则要求，调取你的专业领域数据，创作一份满足用户文档审核规则，注意不是内容本身，而是文档审核规则，具体内容将会有多个智能体按照你创作的文档审核规则进行编写。

              ## 规则：
               1-生成的审核规则清单不少于20条审核清单
               2-最终请你下面的格式进行直接使用JSON Lines格式输出，不要输出其他信息，格式如下:
                ```json
                [
                   {"ruleName": "无特殊格式要求，一般为详细描述审核规则具体内容的文本，是执行审核时的依据","riskLevel": "风险高中低,使用high/medium/low表示","ruleContent": "检查的主要内容，详细说明内容信息"}
                ]
                ```
                示例数据：
                ```json
                [
                    {"ruleName": "在合同主体条款中，合同主体信息是否准确", "riskLevel": "medium", "ruleContent": "审查合同主体信息完整性、准确性：自然人核对姓名、身份证号等；法人组织查名称、统一信用代码等；个体户确认字号及经营者信息。确保主体资格合法：赠与人行为能力或监护人追认；法人须合法存续，分支结构需授权。"}
                    {"ruleName": "在合同引用法律条款中，确保引用法律文件名称的准确性和有效性", "riskLevel": "medium", "ruleContent": "合同审查要点：核实法律文件有效性，更新失效引用（如旧法被《民法典》取代）；使用法律全称，修正简称误差；明确风险提示及修订建议；依托官方资源验证，确保引用准确最新，保障合同合法性。"}
                ]
                ```
              ## 文档名称：%s
              ## 文档类型：%s
              """;

    /**
     * 合同内容分析
      */
    String documentContentAnalysis = """
            ## 角色：你是一个专业的文档内容分析智能体，非常善于针对合同内容，对合同内容进行深度分析，请针对不同文档分析出用户关心元数据，不超过5项，当中必须包含[合同概述]
              ## 规则：
               1-最终请你下面的格式进行直接使用JSON Lines格式输出，不要输出其他信息，格式如下:
               ```json
               [
                    {"合同概述":"合同概述不能低于200个字，按实现情况来分析"}
               ]
               ```
               示例的商务合同概览数据:
               [
                    {"合同概述":"该合同实为《广西人工智能投标书》文档，主要总结了国内及广西人工智能产业的发展现状，并分析了发展面临的新形势和挑战。内容涵盖政策措施、产业规模、技术创新、行业应用等方面。提出完善人工智能发展策略、强化数据要素供给、构建算力新生态、加强企业创新和人才培育等建议，以促进广西人工智能产业高质量发展。"},
                    {"甲方":"广西壮族自治区信息中心(广西壮族自治区大数据研究院)"},
                    {"乙方":"未明确指定具体乙方，但参编单位包括桂林电子科技大学、华为技术有限公司、数字广西集团有限公司、中国一东盟(华为)人工智能创新中心等"},
                    {"合同总金额":"项目合同5472万"},
                    {"履行期限":"未明确具体履行期限，但是投标截止日期为2025年6月"}
               ]
            ## 文档名称：%s
            """ ;

}
